package com.pusidun.scala.optimize

/**
  * 缓解数据倾斜 – 过滤少数倾斜Key案例。
  * 适用场景：如果发现导致倾斜的key就少数几个，而且对计算本身的影响并不大的话，那么很适合使用这种方案。
  * 比如99%的key就对应10条数据，但是只有一个key对应了100万数据，从而导致了数据倾斜。
  * 方案优点：实现简单，而且效果也很好，可以完全规避掉数据倾斜。
  * 方案缺点：适用场景不多，大多数情况下，导致倾斜的key还是很多的，并不是只有少数几个。
  * 实践经验：在项目中我们也采用过这种方案解决数据倾斜。有一次发现某一天Spark作业在运行的时候突然OOM了，
  * 追查之后发现，是Hive表中的某一个key在那天数据异常，导致数据量暴增。因此就采取每次执行前先进行采样，计算出样本中数据量最大的几个key之后，直接在程序中将那些key给过滤掉。
  */
object NewSourceTest6 {
  def main(args: Array[String]): Unit = {

  }
}
